Graphics applications such as flight and vehicle simulation, computer-aided design, scientific visualization, and virtual reality demand high-quality rendering, high polygon rates, and high frame rates. Existing commercial systems render at peak rates up to 2 million polygons per second (e.g., Silicon Graphics' SkyWriter and Hewlett-Packard's VRX). If antialiasing or realistic shading or texturing is required, however, their performance falls by an order of magnitude.
To support demanding applications, future graphics systems must generate high-resolution images of datasets containing hundreds of thousands or millions of primitives, with realistic rendering techniques such as Phong shading, antialiasing, and texturing, at high frame rates (.gtoreq.30 Hz) and with low latency.
Attempts to achieve high performance levels encounter two bottlenecks: inadequate floating-point performance for geometry processing and insufficient memory bandwidth to the frame buffer. For example, to render a scene with 100,000 polygons updated at 30 Hz, geometry processing requires approximately 350 million floating-point operations per second, and rasterization requires approximately 750 million integer operations and 450 million frame-buffer accesses. Parallel solutions are mandatory.
Some current systems use pixel-parallelism for rasterization; frame-buffer memory is divided into several interleaved partitions, each with its own rasterization processor. This multiplies the effective frame-buffer bandwidth by the number of partitions, but does not reduce the number of primitives each processor must handle, since most primitives contribute to most partitions. Because of this limitation, and the bandwidth limitations of commercial VRAMs, this approach does not scale much beyond today's rates of a few million polygons per second.
Accordingly, it is an objective of the present invention to provide a high performance image generation system.
It is a further objective of the image generation system according to the present invention to support a wide variety of rendering algorithms and primitive types, from Gouraud-shaded polygons, to Phong-shaded volume data, to directly rendered Constructive-Solid-Geometry objects.
It is a further objective of the present invention to provide an architecture which is suitable for a variety of image generation functions including rasterizing/rendering, shading, texturizing and image buffering.
It is yet another objective of the present invention to provide an image generation system which is scalable over a wide variety of performance levels and to arbitrarily high levels by combining an arbitrary number of renderers. It is also an objective of the present invention to provide for a simplified programming model without any need for primitive redistribution. An additional objective of the present invention is to provide a high bandwidth image composition network suitable for use with antialiasing algorithms.